package com.chapter10.innerclass_;

/**
 * 成员内部类：
 * 是定义在外部类的成员位置，并且没有static修饰
 * 1.可直接访问外部类的所有成员，包含私有的
 * 2.可以添加任意访问修饰符，因为他的地位就是一个成员
 */
public class MemberInnerClass01 {
    public static void main(String[] args) {
        Outer05 outer05 = new Outer05();
        outer05.f1();
        //如果想在其他类中调用成员内部类可以用以下方法
        //第一种方法
        Outer05.Inner08 inner08 = outer05.new Inner08();
        inner08.say();
        //第二种方法
        Outer05.Inner08 inner081 = outer05.getInner08();
        inner081.say();
    }
}

class Outer05 {
    private int n1 = 200;
    public String name = "张三";

    //成员内部类 是定义在外部类的成员位置
    class Inner08 {
        public void say() {
            System.out.println("Outer08 的 n1 = " + n1 + "outer08的name=" + name);
        }
    }
    public Inner08 getInner08(){
        return new Inner08();
    }
    //如想访问say方法可以编写一个方法
    public void f1(){
        Inner08 inner08 = new Inner08();
        inner08.say();
    }
}
